#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdbool.h>

typedef int QueuedateType;

typedef struct QlistNode
{
	QueuedateType* data;
	struct Queue* next;
}QlistNode;

typedef struct Queue
{
	QlistNode* front;
	QlistNode* rear;
	int size;
}Queue;


void QueueInit(Queue* q);

void QueuePush(Queue* q, QueuedateType data);

void QueueDestroy(Queue* q);

void QueuePop(Queue* q);

QueuedateType QueueFront(Queue* q);

QueuedateType QueueBack(Queue* q);

bool QueueSize(Queue* q);
